package Estado;

import java.util.List;

import Util.Conexao;
import Util.HibernateUtil;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

public class EstadoDao {

	//private Session transacao = HibernateUtil.getSession().openSession() ;
    Conexao cx = new Conexao();

public void AddEstado (Estado est)
    {
            cx.OpenConection();
            cx.getSessao().save(est);
            cx.CloseConection();    
    }
public void RemoveEstado (Estado est)
{
    cx.OpenConection();
    cx.getSessao().delete(est);
    cx.CloseConection();
}
public void UpdateEstado (Estado est)
{ 
	
    cx.OpenConection();
  // transacao.update(est);
    cx.getSessao().update(est);
    cx.CloseConection();
   // transacao.close();
}

public List <Estado> RecuperaEstado ()
{     
        Criteria lista = cx.getTransacao().createCriteria(Estado.class);  
        lista.addOrder(Order.asc("nomeEstado"));
        return lista.list();
}
public List <Estado> RecuperaEstadoDSC (String dsc)
{
    Criteria lista = cx.getTransacao().createCriteria(Estado.class);
    lista.add(Restrictions.like ("nomeEstado","%" + dsc + "%"));
    lista.addOrder(Order.asc("nomeEstado"));
    return lista.list();
}
public Estado RecuperarEstadoCOD (int cod)
{
    Criteria lista = cx.getTransacao().createCriteria(Estado.class);
    lista.add(Restrictions.like("codEstado", cod));
    return (Estado) lista.uniqueResult();
    
}
}
